Revert previous commit. It caused the problem of sticky right click menus
authorSoeren Sandmann <sandmann@daimi.au.dk>
Thu, 3 Jun 2004 00:15:48 +0000 (00:15 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Thu, 3 Jun 2004 00:15:48 +0000 (00:15 +0000)
Thu Jun  3 08:07:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

* gtk/gtkmenu.c: Revert previous commit. It caused the problem
of sticky right click menus to return.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenu.c

index 6e57016da171f45fbfde4a004ee0983302d4ac90..c8c692618e1ec850d0e0464eac586cbef93b8ef7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jun  3 08:07:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       * gtk/gtkmenu.c: Revert previous commit. It caused the problem
+       of sticky right click menus to return.
+
 Wed Jun  2 01:56:02 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
index 6e57016da171f45fbfde4a004ee0983302d4ac90..c8c692618e1ec850d0e0464eac586cbef93b8ef7 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jun  3 08:07:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       * gtk/gtkmenu.c: Revert previous commit. It caused the problem
+       of sticky right click menus to return.
+
 Wed Jun  2 01:56:02 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
index 6e57016da171f45fbfde4a004ee0983302d4ac90..c8c692618e1ec850d0e0464eac586cbef93b8ef7 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jun  3 08:07:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       * gtk/gtkmenu.c: Revert previous commit. It caused the problem
+       of sticky right click menus to return.
+
 Wed Jun  2 01:56:02 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
index 6e57016da171f45fbfde4a004ee0983302d4ac90..c8c692618e1ec850d0e0464eac586cbef93b8ef7 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jun  3 08:07:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       * gtk/gtkmenu.c: Revert previous commit. It caused the problem
+       of sticky right click menus to return.
+
 Wed Jun  2 01:56:02 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
index 3e4c3fa3d5ecc3bd5e52cd0c39decb816fe300b2..2b74dfa3866b0b89f8651f158e5764c74531d806 100644 (file)
@@ -73,16 +73,10 @@ struct _GtkMenuAttachData
   GtkMenuDetachFunc detacher;
 };
 
-typedef enum {
-  NONE,
-  SEEN_MOTION,
-  SEEN_MOTION_ENTER,
-  SEEN_MOTION_ENTER_MOTION
-} SelectState;
-
 struct _GtkMenuPrivate 
 {
-  SelectState select_state;
+  gboolean seen_enter;
+  gboolean seen_motion;
   gboolean have_position;
   gint x;
   gint y;
@@ -1285,7 +1279,8 @@ gtk_menu_popup (GtkMenu               *menu,
   
   menu_shell->parent_menu_shell = parent_menu_shell;
 
-  priv->select_state = NONE;
+  priv->seen_enter = FALSE;
+  priv->seen_motion = FALSE;
   
   /* Find the last viewable ancestor, and make an X grab on it
    */
@@ -2733,17 +2728,11 @@ gtk_menu_motion_notify  (GtkWidget         *widget,
       
       gtk_menu_handle_scrolling (GTK_MENU (widget), TRUE);
 
-      if (priv->select_state == NONE)
-       {
-         priv->select_state = SEEN_MOTION;
-       }
-      else if (priv->select_state == SEEN_MOTION_ENTER)
+      priv->seen_motion = TRUE;
+      if (priv->seen_enter)
        {
-         priv->select_state = SEEN_MOTION_ENTER_MOTION;
-         
-         /* After having seen both a motion, an enter, and a motion
-          * in that order, button releases should be interpreted
-          * as "activate".
+         /* After having seen both a motion and an enter,
+          * button releases should be interpreted as "activate".
           */
          
          GTK_MENU_SHELL (widget)->activate_time = 0;
@@ -2985,8 +2974,15 @@ gtk_menu_enter_notify (GtkWidget        *widget,
       if (!menu_shell->ignore_enter)
        gtk_menu_handle_scrolling (GTK_MENU (widget), TRUE);
 
-      if (priv->select_state == SEEN_MOTION)
-       priv->select_state = SEEN_MOTION_ENTER;
+      priv->seen_enter = TRUE;
+      if (priv->seen_motion)
+       {
+         /* After having seen both a motion and an enter,
+          * button releases should be interpreted as "activate".
+          */
+         
+         GTK_MENU_SHELL (widget)->activate_time = 0;
+       }
     }
   
   /* If this is a faked enter (see gtk_menu_motion_notify), 'widget'